package mi.payment.settings;

import java.io.Serializable;

import mi.payment.constants.Configs;

/**
 * 其他交易控制
 *
 * @author sunmi on 2017/2/12.
 */
public class TransactionOtherSettings implements Serializable {

    // 文件无变化
    private static final long serialVersionUID = 7555716797237785631L;

    public static final String TRANSACTION_OTHER_SETTINGS_KET = "TransactionOtherSettingsKey";

    // 撤销退货类交易是否输入主管密码	1是0否	默认1
    private boolean inputDirectorPsd = Configs.getInstance().INPUT_DIRECTOR_PWD();
    // 是否允许手输卡号	1是0否	默认0
    private boolean inputCardNum = true;
    // 缺省交易选择	1消费0预授权	默认1
    private boolean defaultTransaction = true;
    // 最大退货金额	默认10000	可输入
    private long maximumReturnAmount = Configs.getInstance().MAX_RETURN_AMOUNT();
    // IC卡消费显示卡号
    private boolean ICCardShowCardNumber = false;
    //是否强制非接
    private boolean isForceNFC = Configs.getInstance().FORCE_NFC();
    //是否电子签名
    private boolean isSupportESignature = Configs.getInstance().IS_SUPPORT_SIGNATURE();

    public boolean isSupportESignature() {
        return isSupportESignature;
    }

    public void setSupportESignature(boolean supportESignature) {
        isSupportESignature = supportESignature;
    }

    public boolean getInputDirectorPsd() {
        return inputDirectorPsd;
    }

    protected void setInputDirectorPsd(boolean inputDirectorPsd) {
        this.inputDirectorPsd = inputDirectorPsd;
    }

    public boolean getInputCardNum() {
        return inputCardNum;
    }

    protected void setInputCardNum(boolean inputCardNum) {
        this.inputCardNum = inputCardNum;
    }

    public boolean getDefaultTransaction() {
        return defaultTransaction;
    }

    protected void setDefaultTransaction(boolean defaultTransaction) {
        this.defaultTransaction = defaultTransaction;
    }

    public long getMaximumReturnAmount() {
        return maximumReturnAmount;
    }

    protected void setMaximumReturnAmount(long maximumReturnAmount) {
        this.maximumReturnAmount = maximumReturnAmount;
    }

    public boolean isICCardShowCardNumber() {
        return ICCardShowCardNumber;
    }

    protected void setICCardShowCardNumber(boolean ICCardShowCardNumber) {
        this.ICCardShowCardNumber = ICCardShowCardNumber;
    }

    public boolean isForceNFC() {
        return isForceNFC;
    }

    public void setForceNFC(boolean forceNFC) {
        isForceNFC = forceNFC;
    }

    @Override
    public String toString() {
        return "TransactionOtherSettings{" +
                "inputDirectorPsd=" + inputDirectorPsd +
                ", inputCardNum=" + inputCardNum +
                ", defaultTransaction=" + defaultTransaction +
                ", maximumReturnAmount=" + maximumReturnAmount +
                ", ICCardShowCardNumber=" + ICCardShowCardNumber +
                ", isForceNFC=" + isForceNFC +
                '}';
    }
}
